[2026-01-29] SketchFeature
๐ฆฅ ๋ณธ๋ฌธ
Motivation
- 3rd-order feature์ ํ์์ฑ
- 1st-order feature : flow-agnostic & stateless
- EX) ํ๋กํ ์ฝ, TTL, ํจํท ํฌ๊ธฐ
- 2nd-order feature : flow-aware & stateful
- EX) flow ํฌ๊ธฐ, ํ๊ท , ๋ถ์ฐ, ์ต์๊ฐ, ์ต๋๊ฐ
- 3rd-order feature : ํ๋ฆ๋น ํจํท ๊ฐ ์ง์ฐ(IPD) ๋ถํฌ ๋ฐ ํจํท ํฌ๊ธฐ(PS) ๋ถํฌ ๋ฑ์ ๋ถํฌ ์ ๋ณด
- ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ๊ณต๊ฒฉ์ ํ์งํ๊ธฐ ์ํ flow ๋ณ ๋ถํฌ ์ ๋ณด ์ค์
- 3์ฐจ ํน์ง์ ๊ฐ์ฅ ํ๋ถํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ด, ์ ์ฐจ์ ํน์ง๋ ๋์ถ ๊ฐ๋ฅ
โ ์์ํ๋ฅผ ์ฌ์ฉํ์ด๋ ํ๋์จ์ด ๋ฆฌ์์ค ์ ์ฝ, ๊ณ์ฐ ๋ณต์ก์ฑ ๋ฑ์ผ๋ก ์ธก์ ์ด ์ด๋ ค์
- 1st-order feature : flow-agnostic & stateless
- ๋ฐ์ดํฐ ํ๋ฉด ๋ด์์ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ ํ์์ฑ
- ์ค์๊ฐ ์ฒ๋ฆฌ : ๊ณต๊ฒฉ ํ์ง ๋ก์ง์ ์์น์ ๊ด๊ณ์์ด, ๋ชจ๋ ํ๋ฆ๊ณผ ํธ๋ํฝ์ ๋ํ Line-rate ์กฐ์ฌ ๋ฐ ์ํ
- Line-rate : ๋คํธ์ํฌ ์ฅ๋น๊ฐ ๋ค์ด์ค๋ ํจํท์ ์ง์ฐ์ด๋ ์์ค ์์ด ๋ฌผ๋ฆฌ์ ํ์ ์ด ํ์ฉํ๋ ์ต๋ ์๋๋ก ์ฒ๋ฆฌํ๋ ๋ฅ๋ ฅ
- LFA ๊ฐ์ ๊ณต๊ฒฉ์ ์ ์ํ๊ฒ ์ฐจ๋จ
โ ๋ณต์กํ ์ฐ์ฐ ์ง์ํ์ง ์์, ํ๋์จ์ด ๋ฆฌ์์ค ์ ์ฝ
- ์ค์๊ฐ ์ฒ๋ฆฌ : ๊ณต๊ฒฉ ํ์ง ๋ก์ง์ ์์น์ ๊ด๊ณ์์ด, ๋ชจ๋ ํ๋ฆ๊ณผ ํธ๋ํฝ์ ๋ํ Line-rate ์กฐ์ฌ ๋ฐ ์ํ
- ๊ธฐ์กด ์ฐํ ๋ฐฉ์์ ํ๊ณ ๋ฐ์ดํฐ ํ๋ฉด์์ ์ด๋ฃจ์ด์ง๋ ํน์ง ์ถ์ถ๊ธฐ์ ํ๊ณ (์ฆ์ ํ์ง๊ธฐ)
-
FlowLens, NetWarden
control plane์์ flow ๋น ํ์ง๋ฅผ ์ํ. CPU ์ฒ๋ฆฌ๋์ ํ๊ณ๋ก ์์ฌ์ค๋ฌ์ด ํธ๋ํฝ์ ๋ํด์๋ง control plane์ผ๋ก ๋ณด๋ธ ํ ํ์ง
- ์ ์ฒด flow๊ฐ ์๋ Top-K๋ฅผ ํตํด ์ผ๋ถ ๊ณต๊ฒฉ์ ํ์งํ๋ ๋ฐ, ๊ณต๊ฒฉ์๊ฐ ํจํด์ ์ผ๋ถ ๋ณ๊ฒฝํ๋ ์๊ฐ ํ์งํ๊ธฐ ์ด๋ ค์
- Control plane Flooding ๊ณต๊ฒฉ : data plane - control plane ํต์ ์ฌ์ด์ flooding
- control plane rate-limiter๋ก๋ ๋ง์ ์ ์๊ณ data plane rate-limiter๋ ๋ฆฌ์์ค ๋ถ์กฑ&์ถ๊ฐ ๋งค์ปค๋์ฆ์ด ํ์๋ก ์ธํด ๋ง๊ธฐ ์ด๋ ค์
-
NetBeacon
data plane์ ํน์ง ์ถ์ถ๊ธฐ์ ML ๋ฐฐ์น. ๋ฆฌ์์ค ์ ํ์ผ๋ก 1์ฐจ ํน์ง๋ง์ ์ฌ์ฉ
-
SketchFeature Design
Quantization

์ ํ๋ ๋ฆฌ์์ค ๋ด์์ ๋ถํฌ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ์์ํ๋ฅผ ์ ํ. ์ฐ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ L๊ฐ์ ์นธ์ผ๋ก ๋๋๋ ๊ณผ์ . ์ด ๋ ์์ํ์ ๋ฒ์๊ฐ ์์ ์๋ก ํด์๋๊ฐ ๋์์ ธ ์ฑ๋ฅ์ด ์ข์์ง์ง๋ง ๋ฆฌ์์ค์ ์ ํ์ด ์์ด L๊ฐ์ ์ต์ ํํด์ผ ํจ.
Sketch (Count-Min)

๋ฐ์ดํฐ์ ํต๊ณ์ ํน์ฑ์ ๊ธฐ๋กํ๋ ํ๋ฅ ์ ์๋ฃ๊ตฌ์กฐ
- ํด์ ํจ์๋ฅผ ํตํด ๋ถํฌ ์ ๋ณด๋ฅผ ๊ฐ ํ๋ง๋ค ํด์ฑ
- ํด์ฑ ๊ฐ์ด ๊ฐ๋ฆฌํค๋ ์ธ๋ฑ์ค ์นด์ดํฐ์ ๊ฐ์ 1์ฉ ์ฆ๊ฐ
๋์ค์ ํน์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ๊ฐ ํ์ ๋ํ ํด๋น ๋ฐ์ดํฐ์ ํด์ ์ธ๋ฑ์ค ๊ฐ๋ค์ ํ์ธํ์ฌ ์ต์๊ฐ์ ๋ฐํ
-
๊ธฐ์กด ๋ฐฉ์
์ค์ผ์น๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋๋ hard partitioning
- ๋ฉ๋ชจ๋ฆฌ ๋นํจ์จ์ฑ ๋ฌธ์
- ํด์ ์ถฉ๋ ํ์ ๋ฐ์ โ ์ค์ฐจ ๋ฒ์ ๋ฐ์
-
virtual sketch
๋จ์ผ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์์ผ๋ก ๊ณต์ . ๊ฐ bin๋ง๋ค ์๋ก ๋ค๋ฅธ ํด์ ํจ์๋ฅผ ์ฌ์ฉํจ
-
์คํ

Phantom decoding

์กด์ฌํ์ง ์๋ feature์ ํด์ ์ถฉ๋๋ก ์ธํด 0์ด ์๋ ๊ฐ์ ๋ฐํํ๋ ํ์. ๋ถํฌ์ ๋ ธ์ด์ฆ๊ฐ ๋ฐ์
-
Bloom Filter ์ฌ์ฉ
bin์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์์ผ๋ก ๋ถํ . flow๋ฅผ ์ธ์ฝ๋ฉํ ๋, ํด๋น bin์ ๋์ํ๋ bloom filter์ ๋นํธ๊ฐ 1๋ก ์ค์
-
์คํ

SketchFeature

QNT (์์ํ ํจ์), virtual sketch, BloomFilter๋ก ๊ตฌ์ฑ
๋์ ํ๋ฆ
- ์ธ์ฝ๋ฉ
- ์์ํ ํจ์๋ฅผ ํตํด ํน์ง ๊ฐ์ ์์ํํ์ฌ ์์ํ ๋น์ ๊ฒฐ์
- Flow ID์ ์์ํ ๋ ๋ฒจ์ ํด์ฑํ์ฌ ํด๋น Bloom Filter ๋ถ๋ถ์ 1๋ก ์ ์ฅ
- ๋์์, Flow ID์ ์์ํ ๋ ๋ฒจ์ ํด์ฑํ์ฌ virtual sketch์ +1์ ํ์ฌ ์ ์ฅ
- ๋์ฝ๋ฉ
- ๋ถํฌ๋ฅผ ๋ณต์ํ ๋, ํด๋น Flow ID์ ์์ํ ๋ ๋ฒจ์ ํด์ฑ
- Bloom filter๋ฅผ ๋จผ์ ํ์ธํ์ฌ 1์ธ์ง ๊ฒ์ฆ
- Bloom filter์์ 1์ธ ๊ฒฝ์ฐ์๋ง ์ค์ผ์น์์ ๊ฐ์ ์ฝ์ด์ค๋ฉฐ, ์ค์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ๋ฌ ์นธ ์ค ๊ฐ์ฅ ์์ ๊ฐ์ ์ ํ
โ ๋ถํฌ ๋ฒกํฐ ์์ฑ
Evaluation
baseline๊ณผ์ ๋น๊ต
- ๋ฉ๋ชจ๋ฆฌ ๋ณํ์ ๋ฐ๋ฅธ ์ ํ๋

- workload ๋ณํ์ ๋ฐ๋ฅธ ์ ํ๋ ใ

๋ค๋ฅธ ์์คํ ๊ณผ์ ๋น๊ต

-
NetWarden๊ณผ์ ๋น๊ต
NetWarden์ CTC ํ์ง์์ ์ต์ ์ ๊ฐ๊น์ง๋ง,
NetWarden์ ์ฌ์ ์ง์์ ๋ฐํ์ผ๋ก ํ ํ์ง, ๋ฌด์ ํ ๋ฆฌ์์ค ๋ฑ์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ํ์ค์ฑ์ด ์์
-
FlowLens&NetBeacon๊ณผ์ ๋น๊ต
SketchFeature์ ๋ชจ๋ ๋ถ๋ถ์์ ์ฑ๋ฅ์ด ๋ฐ์ด๋จ
Discussions & Contribution
- Bloom Filter๋ฅผ ํ์ฉํ ํฌํ ๋์ฝ๋ฉ ๋ฌธ์ ํด๊ฒฐ
- ์ค์ผ์น ๊ฐ์ํ๋ฅผ ํตํ ๋ฉ๋ชจ๋ฆฌ ํจ์จ ๊ทน๋ํ
- ์ค์ผ์น๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ์ ๋ํ ๊ฒฌ๊ณ ํจ
- ํด์ ์ถฉ๋์ ์ ์ฉํ๊ธฐ ์ํด์ ํด์ ํจ์์ seed๋ฅผ ์์๋ด๋ ๊ฒ์ ์ด๋ ค์
- ๊ณต๊ฒฉ์๊ฐ SketchFeature์ ์ฌ์ ์ง์์ด ์์ด์ mice flow๋ฅผ ๋ง์ด ์๋ฉด..?
โ ๋์ ์์ํ๋ฅผ ํตํด ๋ง์ด์ค ํ๋ก์ฐ๋ ์ณ๋ด๋ ๊ฒ..?
Leave a comment